package com.piggy.logi.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class LogiMarginVo {

    /** 主键 */
    @ApiModelProperty("主键")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 部门ID */
    @ApiModelProperty(value = "部门ID")
    private Long deptId;

    /** 用户ID */
    @ApiModelProperty("用户ID")
    private Long userId;

    /** 用户名 */
    @ApiModelProperty("用户名")
    private String userName;

    /** 用户类型：0.客户 1.承运商 2.司机 */
    @ApiModelProperty("用户类型：0.客户 1.承运商 2.司机")
    private Integer userType;

    /** 联系人 */
    @ApiModelProperty("联系人")
    private String contactPerson;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    private String contactPhone;

    /** 资金状态：0.正常 1.冻结 */
    @ApiModelProperty("资金状态：0.正常 1.冻结")
    private Integer fundStatus;

    /** 缴纳状态：0.未缴纳 1.已缴纳 2.已退回 */
    @ApiModelProperty("缴纳状态：0.未缴纳 1.已缴纳 2.已退回")
    private Integer payStatus;

    /** 支付账号 */
    @ApiModelProperty("支付账号")
    private String payAccount;

    /** 支付账号类型（数据字典：account_type） */
    @ApiModelProperty("支付账号类型（数据字典：account_type）")
    private String payAccountType;

    /** 支付金额 */
    @ApiModelProperty("支付金额")
    private BigDecimal payAmount;

    /** 支付方式（数据字典：pay_channel） */
    @ApiModelProperty("支付方式（数据字典：pay_channel）")
    private String payChannel;

    /** 支付时间 */
    @ApiModelProperty("支付时间")
    private Date payTime;

    /** 支付凭证 */
    @ApiModelProperty("支付凭证")
    private String payVoucher;

    /** 支付备注 */
    @ApiModelProperty("支付备注")
    private String payRemark;

    /** 退回账号 */
    @ApiModelProperty("退回账号")
    private String refundAccount;

    /** 退回账号类型（数据字典：account_type） */
    @ApiModelProperty("退回账号类型（数据字典：account_type）")
    private String refundAccountType;

    /** 退回金额 */
    @ApiModelProperty("退回金额")
    private BigDecimal refundAmount;

    /** 退回方式（数据字典：pay_channel） */
    @ApiModelProperty("退回方式（数据字典：pay_channel）")
    private String refundChannel;

    /** 退回时间 */
    @ApiModelProperty("退回时间")
    private Date refundTime;

    /** 退回凭证 */
    @ApiModelProperty("退回凭证")
    private String refundVoucher;

    /** 退回备注 */
    @ApiModelProperty("退回备注")
    private String refundRemark;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private Date updateTime;
}
